set iLocList to [#EPIS: [the number of cast "EpisBASE", 236, 150], #ENCY: [the number of cast "AlphBASE", 240, 150], #CHRO: [the number of cast "Fake for help", 234, 150], #FoundSet: [the number of cast "FoundsetBase", 239, 150], #Resources: [vPixelcast, -300, -300], #TOPICS: [vPixelcast, -300, -300], #EPISSUB: [the number of cast "EpisBASE", 236, 150]]
return me
end
on mModeNum me, pModeName
return findPos(iExceptionList, pModeName)
end
on mSetHelpMode me, pMode
if integerp(pMode) then
set pMode to getPropAt(iExceptionList, pMode)
end if
set iActiveExceptionlist to getaProp(iExceptionList, pMode)
set vExceptionCast to getaProp(iLocList, pMode)
if not (the puppet of sprite 38) then
puppetSprite(38, 1)
end if
set the castNum of sprite 38 to getAt(vExceptionCast, 1)
set the locH of sprite 38 to getAt(vExceptionCast, 2)
set the locV of sprite 38 to getAt(vExceptionCast, 3)
if pMode = #TOPICS then
set the visible of sprite 39 to 1
else
set the visible of sprite 39 to 0
end if
updateStage()
end
on mRectRoll me
set vShiftVal to mSearchActiverectList(me, point(the mouseH, the mouseV))
go(marker(0) + 1 + vShiftVal)
end
on mSearchActiverectList me, pMousePoint
set vFound to 0
set vPartToCheck to 1
repeat while (vPartToCheck <= iActiveListlen) and (vFound = 0)
set vListtocheck to getAt(iActiveRectList, vPartToCheck)
set vNumPartRects to count(vListtocheck)
set vRectToCheck to 1
repeat while (vFound = 0) and (vRectToCheck <= vNumPartRects)
set vFound to inside(pMousePoint, getAt(vListtocheck, vRectToCheck))
set vRectToCheck to vRectToCheck + 1
if vFound then
set vFound to vFound * (getOne(iActiveExceptionlist, vPartToCheck) = 0)